package com.Dome;

/*
 *      汽车类
 *      private是一个权限修饰符, 可以修饰成员变量, 私有的意思
 *      被private修饰的成员, 只能在本类中进行访问 (外界不能直接使用)
 *      针对被private 修饰的成员变量, 提供了对应的get和set方法
 *
 *
 * */
//这是要一个描述对象的类,类是对一类具有共同属性和行为的事务的描述,可以理解为设计图
public class Car {
    //对这个类进行改动
    //成员变量 : private
    //成员变量: 注意是类中方法外,不能赋值,赋值要在创建对象


    //private是一个权限修饰符,可以修饰成员(变量和方法), 私有的意思

    private String brand;
    private double price;
    private String color;
    private boolean guss;


    //构造方法本质上就是用来创建对象的 constructor-->构造器,构造方法
    //可以借助构造方法的加载时机,完成赋值
    //new 一次加载一次,new一次自动调用一次
    //空参构造
    public Car(){

    }

    public Car(String brand,double price,String color,boolean guss){
        this.brand = brand;
        this.price = price;
        this.color = color;
        this.guss = guss;
    }

    //被private修饰的成员, 只能在本类中进行访问(外界不能直接使用)
    //针对被private 修饰的成员变量, 提供了对应的get和set方法
    //写方法 两个明确 1.参数列表 2.返回值类型  get:设置 需要返回值类型 不需要材料也就是形式参数
    public String getBrand(){
        return brand;
    }

    public void setBrand(String brand){//---->没有见名知意
        //局部变量brand和成员变量brand,重名了
        //注意java是遵循,就近原则的,这里就是局部变量brand自己赋值给了自己
        //目标就是,将局部变量赋值给成员变量
        //this: 代表本类对象, 可以调用本类的成员------->记这句话
        //作用: 解决初步变量和成员变量重名问题
        this.brand = brand;
    }

    public double getPrice(){
        return price;
    }

    public void setPrice(int price){//为了见名知意
        //为了不是局部变量自己调用自己,的用this区分
        //this: 是代表本类对象, 可以调用本类的成员
        //作用: 解决局部变量和成员变量重名问题
        this.price = price;
    }

    public String getColor(){
        return color;
    }

    public void setColor(String color){
        //java是就近原则
        //this:代表本类对象,可以调用本类成员
        this.color = color;
    }

    public Boolean getGuss(){
        return guss;
    }

    public void setGuss(boolean guss){
        //java是就近原则
        //this: 代表本类对象,可以调用本类方法
        //作用: 解决局部变量跟成员变量重名问题
        this.guss = guss;
    }

    //成员方法 -> 不要加static关键字-->先当做一个结论记忆
    public void drive(){
        System.out.println("汽车在行驶...");
    }

}
